home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MACD 5
/
MACD 5.bin
/
workbench
/
tools
/
czesc_2
/
mfilemode
/
source
/
gadgets.c
next >
Wrap
C/C++ Source or Header
|
1994-09-05
|
6KB
|
190 lines
// Gadgets.c - Copyright © 1994 Mike Austin
#include <dos/dos.h>
#include <proto/gadtools.h>
#include <proto/multiuser.h>
#include "MFileMode.h"
#include "GUI.h"
VOID SetGadgets(struct FileInfoBlock *FileInfo)
{
GT_SetGadgetAttrs(MainGadgets[GD_GAD_UID],
MainWnd, NULL,
GTCB_Checked, (FileInfo->fib_Protection & muFIBF_SET_UID),
TAG_END);
GT_SetGadgetAttrs(MainGadgets[GD_GAD_SCRIPT],
MainWnd, NULL,
GTCB_Checked, (FileInfo->fib_Protection & FIBF_SCRIPT),
TAG_END);
GT_SetGadgetAttrs(MainGadgets[GD_GAD_PURE],
MainWnd, NULL,
GTCB_Checked, (FileInfo->fib_Protection & FIBF_PURE),
TAG_END);
GT_SetGadgetAttrs(MainGadgets[GD_GAD_ARCHIVE],
MainWnd, NULL,
GTCB_Checked, (FileInfo->fib_Protection & FIBF_ARCHIVE),
TAG_END);
GT_SetGadgetAttrs(MainGadgets[GD_GAD_USER_READ],
MainWnd, NULL,
GTCB_Checked, !(FileInfo->fib_Protection & FIBF_READ),
TAG_END);
GT_SetGadgetAttrs(MainGadgets[GD_GAD_USER_WRITE],
MainWnd, NULL,
GTCB_Checked, !(FileInfo->fib_Protection & FIBF_WRITE),
TAG_END);
GT_SetGadgetAttrs(MainGadgets[GD_GAD_USER_EXECUTE],
MainWnd, NULL,
GTCB_Checked, !(FileInfo->fib_Protection & FIBF_EXECUTE),
TAG_END);
GT_SetGadgetAttrs(MainGadgets[GD_GAD_USER_DELETE],
MainWnd, NULL,
GTCB_Checked, !(FileInfo->fib_Protection & FIBF_DELETE),
TAG_END);
GT_SetGadgetAttrs(MainGadgets[GD_GAD_GROUP_READ],
MainWnd, NULL,
GTCB_Checked, (FileInfo->fib_Protection & FIBF_GRP_READ),
TAG_END);
GT_SetGadgetAttrs(MainGadgets[GD_GAD_GROUP_WRITE],
MainWnd, NULL,
GTCB_Checked, (FileInfo->fib_Protection & FIBF_GRP_WRITE),
TAG_END);
GT_SetGadgetAttrs(MainGadgets[GD_GAD_GROUP_EXECUTE],
MainWnd, NULL,
GTCB_Checked, (FileInfo->fib_Protection & FIBF_GRP_EXECUTE),
TAG_END);
GT_SetGadgetAttrs(MainGadgets[GD_GAD_GROUP_DELETE],
MainWnd, NULL,
GTCB_Checked, (FileInfo->fib_Protection & FIBF_GRP_DELETE),
TAG_END);
GT_SetGadgetAttrs(MainGadgets[GD_GAD_OTHER_READ],
MainWnd, NULL,
GTCB_Checked, (FileInfo->fib_Protection & FIBF_OTR_READ),
TAG_END);
GT_SetGadgetAttrs(MainGadgets[GD_GAD_OTHER_WRITE],
MainWnd, NULL,
GTCB_Checked, (FileInfo->fib_Protection & FIBF_OTR_WRITE),
TAG_END);
GT_SetGadgetAttrs(MainGadgets[GD_GAD_OTHER_EXECUTE],
MainWnd, NULL,
GTCB_Checked, (FileInfo->fib_Protection & FIBF_OTR_EXECUTE),
TAG_END);
GT_SetGadgetAttrs(MainGadgets[GD_GAD_OTHER_DELETE],
MainWnd, NULL,
GTCB_Checked, (FileInfo->fib_Protection & FIBF_OTR_DELETE),
TAG_END);
UserInfo->uid = FileInfo->fib_OwnerUID;
muGetUserInfo(UserInfo, muKeyType_uid);
GT_SetGadgetAttrs(MainGadgets[GD_GAD_OWNER],
MainWnd, NULL,
GTST_String, FileInfo->fib_OwnerUID ? UserInfo->UserID : NULL,
TAG_END);
GroupInfo->gid = FileInfo->fib_OwnerGID;
muGetGroupInfo(GroupInfo, muKeyType_gid);
GT_SetGadgetAttrs(MainGadgets[GD_GAD_GROUP],
MainWnd, NULL,
GTST_String, FileInfo->fib_OwnerGID ? GroupInfo->GroupID : NULL,
TAG_END);
}
VOID ReadGadgets(struct FileInfoBlock *FileInfo)
{
if(MainGadgets[GD_GAD_UID]->Flags & GFLG_SELECTED)
FileInfo->fib_Protection |= muFIBF_SET_UID;
else
FileInfo->fib_Protection &= ~muFIBF_SET_UID;
if(MainGadgets[GD_GAD_SCRIPT]->Flags & GFLG_SELECTED)
FileInfo->fib_Protection |= FIBF_SCRIPT;
else
FileInfo->fib_Protection &= ~FIBF_SCRIPT;
if(MainGadgets[GD_GAD_PURE]->Flags & GFLG_SELECTED)
FileInfo->fib_Protection |= FIBF_PURE;
else
FileInfo->fib_Protection &= ~FIBF_PURE;
if(MainGadgets[GD_GAD_ARCHIVE]->Flags & GFLG_SELECTED)
FileInfo->fib_Protection |= FIBF_ARCHIVE;
else
FileInfo->fib_Protection &= ~FIBF_ARCHIVE;
if(MainGadgets[GD_GAD_USER_READ]->Flags & GFLG_SELECTED)
FileInfo->fib_Protection &= ~FIBF_READ;
else
FileInfo->fib_Protection |= FIBF_READ;
if(MainGadgets[GD_GAD_USER_WRITE]->Flags & GFLG_SELECTED)
FileInfo->fib_Protection &= ~FIBF_WRITE;
else
FileInfo->fib_Protection |= FIBF_WRITE;
if(MainGadgets[GD_GAD_USER_EXECUTE]->Flags & GFLG_SELECTED)
FileInfo->fib_Protection &= ~FIBF_EXECUTE;
else
FileInfo->fib_Protection |= FIBF_EXECUTE;
if(MainGadgets[GD_GAD_USER_DELETE]->Flags & GFLG_SELECTED)
FileInfo->fib_Protection &= ~FIBF_DELETE;
else
FileInfo->fib_Protection |= FIBF_DELETE;
if(MainGadgets[GD_GAD_GROUP_READ]->Flags & GFLG_SELECTED)
FileInfo->fib_Protection |= FIBF_GRP_READ;
else
FileInfo->fib_Protection &= ~FIBF_GRP_READ;
if(MainGadgets[GD_GAD_GROUP_WRITE]->Flags & GFLG_SELECTED)
FileInfo->fib_Protection |= FIBF_GRP_WRITE;
else
FileInfo->fib_Protection &= ~FIBF_GRP_WRITE;
if(MainGadgets[GD_GAD_GROUP_EXECUTE]->Flags & GFLG_SELECTED)
FileInfo->fib_Protection |= FIBF_GRP_EXECUTE;
else
FileInfo->fib_Protection &= ~FIBF_GRP_EXECUTE;
if(MainGadgets[GD_GAD_GROUP_DELETE]->Flags & GFLG_SELECTED)
FileInfo->fib_Protection |= FIBF_GRP_DELETE;
else
FileInfo->fib_Protection &= ~FIBF_GRP_DELETE;
if(MainGadgets[GD_GAD_OTHER_READ]->Flags & GFLG_SELECTED)
FileInfo->fib_Protection |= FIBF_OTR_READ;
else
FileInfo->fib_Protection &= ~FIBF_OTR_READ;
if(MainGadgets[GD_GAD_OTHER_WRITE]->Flags & GFLG_SELECTED)
FileInfo->fib_Protection |= FIBF_OTR_WRITE;
else
FileInfo->fib_Protection &= ~FIBF_OTR_WRITE;
if(MainGadgets[GD_GAD_OTHER_EXECUTE]->Flags & GFLG_SELECTED)
FileInfo->fib_Protection |= FIBF_OTR_EXECUTE;
else
FileInfo->fib_Protection &= ~FIBF_OTR_EXECUTE;
if(MainGadgets[GD_GAD_OTHER_DELETE]->Flags & GFLG_SELECTED)
FileInfo->fib_Protection |= FIBF_OTR_DELETE;
else
FileInfo->fib_Protection &= ~FIBF_OTR_DELETE;
}